import java.util.Arrays;

public class J2410171 {
    public static void main(String[] args) {
        int[] array = {1, 3, 16, 8, 20, 2};
        bubblesort(array);
        System.out.println(Arrays.toString(array));
    }

    public static void bubblesort(int[] array) {
        for (int i = 0; i < array.length - 1; i++) {//例如六个数据需要比较五次，所以循环次数为长度减一
            boolean xunhuan = false;
            for (int j = 0; j < array.length - 1 - i; j++) {//对于已经排好序的最后几位无需再次检查排序
                if (array[j] > array[j + 1]) {
                    int tmp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = tmp;
                    xunhuan = true;
                }
            }
            if (xunhuan == false) {
                break;//检查，如果前面的排序已经完成整体所需要的排序则立刻停止
            }
        }
    }
}
